package org.com.andy.domain.dto;

import com.sun.istack.internal.NotNull;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;
import java.util.Map;

/**
 * <p>流程任务<p>
 *
 * @author Tony
 * @date 2021-04-03
 */
@Data
@ApiModel("工作流任务相关--请求参数")
public class FlowTaskVo {

    @ApiModelProperty("任务Id")
//    @NotBlank(message = "任务Id不能为空")
    private String taskId;

    @ApiModelProperty("用户Id")
    private String userId;

    @ApiModelProperty("任务意见")
    private String comment = "";

    @ApiModelProperty("流程实例Id")
    private String instanceId;

    @ApiModelProperty("节点")
    private String targetKey;

    private String deploymentId;
    @ApiModelProperty("流程环节定义ID")
    private String defId;

    @ApiModelProperty("子执行流ID")
    private String currentChildExecutionId;

    @ApiModelProperty("子执行流是否已执行")
    private Boolean flag;

    @ApiModelProperty("流程变量信息")
    private Map<String, Object> variables;

    @ApiModelProperty("审批人")
    private String assignee;

    @ApiModelProperty("重要程度/优先级")
//    @NotNull(message = "重要程度不能为空")
    private int priority;

    @ApiModelProperty("候选人")
    private List<String> candidateUsers;

    @ApiModelProperty("审批组")
    private List<String> candidateGroups;

    @ApiModelProperty("任务名称")
    private String taskName;

    @ApiModelProperty("业务键-集合")
    private List<String> businessKeys;

    @ApiModelProperty("流程定义键")
    private String processDefinitionKey;

    @ApiModelProperty("携带业务对象")
    private Object objDTO;

    @ApiModelProperty("是否为撤回动作")
    private Boolean isRetract;


}
